﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using LastoRevival.Service.Contracts.Models;
using LastoRevival.ForumCode;

namespace LastoRevival.Service.Contracts
{
	[ServiceContract(Namespace = Constants.ServiceNamespace)]
	public interface IPostService
	{
		[OperationContract]
		int CreatePost(Guid loginToken, CreatePostModel post);

		[OperationContract]
		int CreateReply(Guid loginToken, CreateReplyModel post);

		[OperationContract]
		void UpdatePost(Guid loginToken, EditPostModel post);

		[OperationContract]
		ViewPostModel GetPostForViewing(Guid loginToken, int postID);

		[OperationContract]
		EditPostModel GetPostForEditing(Guid loginToken, int postID);

		[OperationContract]
		BBTagReference[] GetForumCodes(Guid loginToken);

		[OperationContract]
		void ChangeLockState(Guid loginToken, int postId, bool locked);
	}
}
